#复写：子类继承父类的成员属性和成员方法后，如果对其“不满意“，可以进行复写
#即：在子类中重新定义同名的属性和方法即可
from opt_einsum.paths import DEFAULT_COMBO_FACTOR


class Phone:
    IMEI=None
    producer="ITCAST"
    def call_by_5g(self):
        print("父类的5g通话")

class My_phone(Phone):
    producer = "ITSSPU"
    def call_by_5g(self):
        print("子类的5g通话")
        #方法1调用父类成员
        print(f"父类的厂商为{Phone.producer}")
        Phone.call_by_5g(self)
        #方式2调用父类成员
        print(f"父类厂商为{super().producer}")
        super().call_by_5g()
        print("开启CPU单核模式，确保通话的时候省电")
phone=My_phone()
print(phone.producer)
print(phone.IMEI)
phone.call_by_5g()
#一旦复写父类成员，那么类对象调用成员的时候，就会调用复写的新成员如果需要使用被复写的父类的成员，需要特殊的调用方式\
"""
调用同名父类成员：
方式1：
调用父类成员：
    使用成员变量：
        父类名.成员变量
    使用成员方法：
        父类名.成员方法(self)
方式2：
使用super()调用父类成员
    使用成员变量：super().成员变量
    使用成员方法：super().成员方法()
"""
